# 使用Python的官方镜像
FROM python:3.8-slim

# 设置环境变量，避免生成pyc文件
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

# 设置工作目录
WORKDIR /app

# 安装系统依赖项
RUN apt-get update && apt-get install -y \
    libpq-dev \
    gcc \
    pkg-config \
    default-libmysqlclient-dev \
    --no-install-recommends \
    && rm -rf /var/lib/apt/lists/*

# 复制requirements.txt文件并安装Python依赖
COPY requirements.txt /app/
RUN pip install --no-cache-dir -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple

# 复制项目代码到容器中
COPY . /app

# 确保 wait-for-it.sh 脚本具有可执行权限
RUN chmod +x /app/wait-for-it.sh

# 暴露应用程序所用的端口
EXPOSE 8000

# 启动Django应用，使用Gunicorn来部署
CMD ["gunicorn", "music_project.wsgi:application", "--bind", "0.0.0.0:8000"]
